<?php
/**
* DESCRIPCION:
* Es una clase que define un patrón Singleton
* OBJETIVO:
* Encargado de guardar las configuraciones del sistema para poder accesarlas
* en todo momento de forma única, simple y rápida.
*
* @copyright  Creative Commons Atribución 2.5 Argentina.
* @author Iuga - iuga77@gmail.com
* @version 1.0.4
* @todo: ---
*
* Agradecimientos:
* Enrique Place, Martin Alterisio, andres
*/

require_once("ISingleton.class.php");

class SConfig implements ISingleton
{
  // Definimos el atributo que guarda la instancia del Singleton
  private static $config = null;
  // Definimos las variables de la configuracion
  private $bdHost;      // Host de la BD
  private $bdUsuario;  // Nombre de Usuario de la BD
  private $bdPass;     // Password de la BD
  private $bdBd;        // Schema a usar
  

  /**
  * Retorna la clase Singleton si existe en memoria
  * Si no existe, crea una nueva
  * @return (Singleton)
  */
  public static function getInstance()
  {
    if ( self::$config == null )
    {
      self::$config = new SConfig();
    }
    return self::$config;
  }

  /**
  * Constructor del Singleton
  * Se inicializan las variables
  */
  private function SConfig()
  {
   // Este es el constructor, definimos la configuracion
   $this->bdHost    = "localhost";   // Host de la base de datos
   $this->bdUsuario = "root";        // Usuario de la BD
   $this->bdPass    = "";            // Password para el usuario
   $this->bdBd      = "test";        // Schema-Base de datos a usar
  }

  /**
  * Método "GET", se usa para obtener los parametros
  * independiente si existe su get o no
  * @param  $var Nombre del atributo
  * @return  $valor_atributo
  */
  public function getData ( $key )
  {
    if(isset($this->$key))
    {
      return $this->$key;
    }
    else
    {
      return NULL;
    }
  }
}


?>
